﻿
namespace Gmantis.Imaging
{
    internal class ImageResizeFilterMitchell : ImageResizeFilter
    {
        protected override double GetRadius()
        {
            return 2.0;
        }

        protected override double GetWeight(double x)
        {
            if (x < 0.0)
            {
                x = -x;
            }
            double num = x * x;
            if (x < 1.0)
            {
                x = ((7.0 * (x * num)) + (-12.0 * num)) + 5.333333333333333;
                return (x / 6.0);
            }
            if (x < 2.0)
            {
                x = (((-2.3333333333333335 * (x * num)) + (12.0 * num)) + (-20.0 * x)) + 10.666666666666666;
                return (x / 6.0);
            }
            return 0.0;
        }
    }
}
